perm filename INHERI.TEX[CLS,LSP]1 blob sn#834000 filedate 1987-02-05 generic text, type C, neo UTF8
COMMENT āŠ—   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	\input macros
C00008 ENDMK
CāŠ—;
\input macros

The following is a simple description of how the slot options
{\bf :allocation}, {\bf :initform}, and {\bf :type} are determined
for a slot named $S$ in a class $C$.

Let the class precedence list of $C$ be $\{C\sub 1, \ldots, C\sub n\}$.
We produce a second list of slot
option values $$D=\{(A\sub 1,T\sub 1,I\sub 1), \ldots,(A\sub n,T\sub
n,I\sub n)\}$$ derived from the class precedence list as follows:  for
each $C\sub i$ in the class precedence list for $C$ consider the {\bf
defclass} form for $C\sub i$; let $A\sub i$ be the value supplied for the
{\bf :allocation} slot option for the slot $S$, $T\sub i$ be the value
supplied for the {\bf :type} slot option for the slot $S$, and $I\sub i$
be the value suppiled for the {\bf :initform} slot option for the slot
$S$.  If any of these options for the slot $S$ is not explicitly specified
by the {\bf defclass} form for $C\sub i$, they are defaulted as follows:

The {\bf :allocation} option defaults to {\bf :instance}.

The {\bf :type} option defaults to {\bf T}.

The {\bf :initform} option defaults to unsupplied.

The slot option values for {\bf :allocation}, {\bf :type}, and {\bf
initform} for the slot $S$ in $C$ are derived from the set $D$ as follows:

The {\bf :allocation} option for $C$ is $A\sub 1$.

The {\bf :type} option for $C$ is {\bf T}, and
the contents of the slot $S$ will always be of type
{\tt (and $T\sub 1$ $T\sub 1$ $\ldots$ $T\sub n$)}.

The {\bf :initform} option for $C$ is $I\sub i$ where $i$ is
the smallest $i$, $0\leq i\leq n$, such that $I\sub i$ is not unsupplied.